// src/stores/index.ts
import { defineStore } from 'pinia';

// 1. 一次性同步导入 ./modules 目录下所有 .js / .ts 文件
const modules = import.meta.glob('./modules/**/*.{js,ts}', { eager: true });

// 2. 把文件路径 -> 模块的映射，变成 “文件名 -> 模块.default” 的映射
const moduleList = {};

Object.entries(modules).forEach(([filePath, mod]) => {
  // 取文件名：去掉路径和扩展名
  // 例：./modules/foo/bar.js -> bar
  const fileName = filePath
    .replace(/^.*\/([^/]+)\.(js|ts)$/, '$1');

  // 如果模块使用 export default，则取 .default；否则取整个导出
  moduleList[fileName] = (mod).default ?? mod;
});

// 3. 创建并导出 store
export const useXjStore = defineStore('main', {
  state: () => ({
    modules: {
      ...moduleList,
    },
  }),
  getters: {},
  actions: {},
});